package com.itheima.stock.common.exception;

import com.itheima.stock.vo.resp.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @ClassName CustomExceptionHandler
 * @Author Carithly
 * @Description 全局异常处理器
 * @Date 2022/10/28 8:56
 * @Version 1.0.0
 * @Entity com.itheima.stock.common.exception
 */
@ControllerAdvice
@ResponseBody
@Slf4j
public class CustomExceptionHandler {
    /**
     * 定义异常捕获
     * @return
     */
    /*@ExceptionHandler(Exception.class)
    public R exception(){
        return R.error(500,"网络错误");
    }*/
    @ExceptionHandler(SystemException.class)
    public  R systemExceptionHandler(SystemException systemException){
        //保留现场
        log.error("异常，{}",systemException.getMessage());
        //通知管理人员（发邮件）【异步】 / 获取到的异常信息 发给MQ【异步】
        //给用户提示
        return R.error(111,"网络错误");
    }
}
